package com.hyt.it.ogt.pj.common;

import java.util.HashMap;
import java.util.Map;

public class ResponseCode {

    /*******
     *
     * 错误码规则(22 01 01 01) 22:评卷系统  01:模块名称  01:接口序号  01:接口错误类型
     * 模块定义：
     * 01：评卷项目  02：考生模块  03：试卷模块  04：评卷块  ......
     *
     */

    // 评卷系统统一成功码
    public static final Integer SUCCESS = 20000;
    // 评卷系统统一异常出错码
    public static final Integer ERROR = 500;

    public static Map<Integer,String> codeMap = new HashMap<>();

    /**
     * 评卷项目
     */
    // 初始化项目时传入的项目id为空
    public static final Integer INIT_PROJECTID_NULL = 51000001;
    // 项目已经初始化过
    public static final Integer INIT_PROJECT_EXIST_ERROR = 51000002;
    // 初始化项目时考务系统中没有该任务
    public static final Integer INIT_PROJECT_NOT_EXIST = 51000003;
    // 初始化项目时没有读取到科目数据
    public static final Integer INIT_PROJECT_NO_SUBJECT = 51000004;
    // 初始化项目时没有读取到试卷
    public static final Integer INIT_PROJECT_NO_PAPER = 51000005;
    // 初始化数据时没有读取到考生信息
    public static final Integer INIT_PROJECT_NO_STUDENT = 51000006;
    // 初始化数据时没有读取到考生答案
    public static final Integer INIT_PROJECT_NO_STUDENT_ANSWER = 51000007;
    // 初始化数据时没有读取到考生答案
    public static final Integer KW_MARKSTUDENT_FAIL = 51000010;


    // 初始化数据时没有读取到考生答案
    public static final Integer INIT_PROJECT_NO_CONFIG_PROPERTIES = 51000008;


    // 删除评卷参数出错，已经开始评卷后不允许删除评卷参数
    public static final Integer LOG_DELETE_ERROR_BEGIN_MARK = 51000201;
    // 评卷任务
    public static final Integer FIND_MARK_TASK_NULL = 51000300;
    // 没有找到这个考生的任务
    public static final Integer FIND_MARK_TASK_NO_STUDENT_TASK = 51000301;
    // 撤销考生评卷失败
    public static final Integer REPEAL_CANDIDATE_MARK_ERROR = 51000401;
    // 准考证号为空
    public static final Integer ADMISSIONNUMS_NULL = 51000402;
    // 查询评卷项目分页失败
    public static final Integer QUERY_PROJECT_PAGE_FAIL = 51000404;
    // 推送评卷数据异常
    public static final Integer PUSH_MARK_DATA_EXCEPTION = 51000405;
    // 推送评卷数据失败
    public static final Integer PUSH_MARK_DATA_FAIL = 51000406;
    // 更新评卷项目信息异常
    public static final Integer UPDATE_PROJECT_INFO_EXCEPTION = 51000407;


    // 对外提供接口结果码
    // 添加考生成功后需要更新考务系统中考生状态，成功时返回该状态码
    public static final Integer KW_MARK_STUDENT_STATUS_SUCCESS = 16001;
    // 查询考生小题分数
    public static final Integer QUERY_STUDENT_ITEM_SCORE_SUCCESS = 20100;
    // 查询考生小题分数为空
    public static final Integer QUERY_STUDENT_ITEM_SCORE_EMPTY = 20101;
    // 获取考生评卷状态为空
    public static final Integer QUERY_STUDENT_SUBJECTIVE_STATUS_EMPTY = 20111;

    // 考务系统返回结果码
    // 存在已评卷考生数据，不允许推送
    public static final Integer KW_MARK_NOT_PERMIT_PUSH = 51000408;
    // 查询是否允许推送现考现评数据异常
    public static final Integer KW_MARK_PUSH_CHECK_EXCEPTION = 51000409;
    // 推送现考现评数据异常
    public static final Integer KW_MARK_PUSH_EXCEPTION = 51000410;
    // 存在已评卷考生数据，不允许修改考试类型
    public static final Integer KW_EXAM_TYPE_CHANGE_ERROR = 51000411;
    // 查询是否允许推送现考现评数据异常
    public static final Integer KW_EXAM_TYPE_CHANGE_EXCEPTION = 51000412;

    //发布评卷任务开关为开启状态时，不允许编辑
    public static final Integer PUBLISH_TASK_NOT_EDIT = 51000413;

    //评卷任务有专家提交评分时，不允许编辑评卷模式设置
    public static final Integer PUBLISH_TASK_HAVE_SCORE_NOT_EDIT = 51000414;

    //评卷模式不能为空
    public static final Integer MARK_MODEL_NOT_EMPRY = 51000415;

    //专家评卷量为空，请进行设置
    public static final Integer EXPERT_NUMBER_IS_EMPTY = 51000416;

    //评卷专家为空，请进行设置
    public static final Integer EXAM_EXPERT_IS_EMPTY = 51000417;

    //专家评卷量总和不等于评卷总量，请调整
    public static final Integer MARK_TOTAL_NOT_TOTAL_NUMBER = 51000418;

    //交叉评卷专家评卷次数应大于0，请进行设置
    public static final Integer MARK_TOTAL_NOT_EMPTY = 51000419;

    //专家评卷量总和不等于评卷总量，请调整
    public static final Integer EXPERT_MARK_TOTAL_NOT_TOTAL_NUMBER = 51000420;

    //评卷开始时间不能大于评卷结束时间，请调整
    public static final Integer MARK_TASK_TIME_ERROR = 51000421;

    //评卷任务不存在
    public static final Integer  MARK_PROJECT_NOT_EMPTY= 51000422;

    //评卷规则未设置
    public static final Integer  PROJECT_SETTING_NOT_EMPTY= 51000423;

    //评卷任务为空
    public static final Integer  PROJECT_TASK_NOT_EMPTY= 51000424;


    //已开启自动分配任务，评卷专家人数不允许小于评卷次数，无法删除
    public static final Integer  OPEN_AUTOFLAG_NOT_DELETE= 51000426;

    //该专家已提交评卷任务，无法删除
    public static final Integer  SUBMIT_TASK_NOT_DELETE= 51000427;

    //任务评卷规则未发布，请进行设置
    public static final Integer  PUBLISH_TASK_NOT_SETTING= 51000428;
    
    //任务评卷发布进行中请耐心等待
    public static final Integer  PUBLISH_TASK_RUNNING= 51000430;

    //更新科目实考人数失败
    public static final Integer  UPDATE_STUDENTNUM_ERROR= 51000500;


    static {
        codeMap.put(PUBLISH_TASK_NOT_EDIT,"发布评卷任务开关为开启状态时，不允许编辑");
        codeMap.put(MARK_MODEL_NOT_EMPRY,"评卷模式不能为空");
        codeMap.put(EXPERT_NUMBER_IS_EMPTY,"专家评卷量为空，请进行设置");
        codeMap.put(EXAM_EXPERT_IS_EMPTY,"评卷专家为空，请进行设置");
        codeMap.put(MARK_TOTAL_NOT_TOTAL_NUMBER,"专家评卷量总和小于评卷总量，请调整");
        codeMap.put(MARK_TOTAL_NOT_EMPTY,"交叉评卷专家评卷次数应大于0，请进行设置");
        codeMap.put(EXPERT_MARK_TOTAL_NOT_TOTAL_NUMBER,"专家评卷量总和不等于评卷总量，请调整");
        codeMap.put(MARK_TASK_TIME_ERROR,"评卷开始时间不能大于评卷结束时间，请调整");
        codeMap.put(PROJECT_SETTING_NOT_EMPTY,"评卷规则未设置");
        codeMap.put(PUBLISH_TASK_HAVE_SCORE_NOT_EDIT,"评卷任务有专家提交评分时，不允许编辑评卷模式设置");
    }

}
